"use strict";
{
    //当声明类之后, 会多一个类型出来
    class Person {
        //方法
        //构造方法
        constructor(name, age) {
            this.name = name;
            this.age = age;
        }
        //方法
        intro() {
            console.log(`我是${this.name},今年${this.age}`);
        }
    }
    //实例化对象
    // let me: Person = new Person('xxx', 10);
    class Child extends Person {
        constructor(name, age, skill) {
            super(name, age);
            this.skill = skill;
        }
        sanmei() {
            console.log('可以吐火');
        }
    }
    //实例化
    let child = new Child('红孩儿', 300, '三昧真火');
    child.sanmei();
}
{
    //声明一个类
    class CA {
        constructor() {
            this.a = 'aaa'; //公开的
            this.b = 'bbb'; //受保护的
            this.c = 'ccc'; //私有的
        }
        fn() {
            console.log(this.a);
            console.log(this.b);
            console.log(this.c);
        }
    }
    class CB extends CA {
        fn2() {
            console.log(this.a);
            console.log(this.b);
            // console.log(this.c); //属性“c”为私有属性，只能在类“CA”中访问
        }
    }
    //实例化对象
    let obj = new CA();
    // obj.fn();
    // console.log(obj.a);
    // console.log(obj.b);//属性“b”受保护，只能在类“CA”及其子类中访问
    // console.log(obj.c);//属性“c”为私有属性，只能在类“CA”中访问
}
